每個定義的類別會由不同類別成員組成,它包含欄位、屬性、方法和事件。
欄位和屬性表達物件的資訊,方法則是負責資料的傳遞和運算。
欄位(Field):可視為任意型別的變數,可直接存取,通常會在類別或建構函式中宣告
屬性:用來描述物件特徵
方法:定義物件行為
事件:提供不同類別與物件之間的溝通
使用類別之前,必須以關鍵字class為開頭做宣告,它的語法如下:
class 類別名稱
{
[存取修飾詞]資料型別 資料成員;
[存取修飾詞]資料型別 方法
{
...
}
}
//類別名稱:建立類別使用名稱,須遵守識別項的規範。類別名稱之後有一對大括號來產生區段
//存取修飾詞:有五個private、public、protected、internal、protected、internal
//資料成員包含欄位和屬性:可將欄位視為類別內所定義的變數,一般會以英文小寫作為識別名稱的開頭
namespace Ex0601 //名稱空間
{
class student //宣告類別
{
public string name; // 宣告類別欄位
}
class Program ...
}
由於類別屬於參考型別,要實體化物件使用new運算子,語法如下:
類別名稱 物件名稱;
物件名稱 = new 類別名稱();
類別名稱 物件名稱 = new 類別名稱(); // 合併前述兩行
student brett; //建立student 類別的物件brett
brett = new student(); //以new運算子將brett實體化
//合併
student brett = new student(); // 將前述兩行合併成一行
class student
{
public string name ;
}
static void Man(string[] args)
{
//第一個物件-tomas
Student tomas = new Student();
tomas.name = "Tomas";
Student emily = new Student();
emily.name = "Emaily VanCamp";
Console.WriteLine($"第一個學生:{tomas.name}");
Console.WriteLine($"第二個學生:{emily.name}");
}
存取權限
在物件導向技術世界哩,為了達到資訊隱藏目的,可以透過方法來封裝物件的成員。
存取權限的作用能讓物件掌握成員,控制物件在被允許的情況下才能讓外界使用。
為了保護物件的欄位不被外界其他類別所存取,通常會將資料成員宣告為private。
確保資料成員的安全,透過方法是比較好的方法,這才能達到前文所提到”由於外部無法存取私有範圍的變數,就是資訊隱藏的一種表現方式”。將欄位name存取變更為private,再以兩個方法來設定和取得欄位直,方法成員的語法如下:
[存取修飾詞] 回傳值型別 methodName(資料型別 參數串列){
程式敘述;
[return 運算式;]
}
回傳值型別:它必須與return敘述回傳值的型別相同。若方法沒有回傳任何資料,以void取代。
methodName:方法名稱;同樣遵守識別項規範。
資料型別:定義方法時,接收資料的參數也要有型別。
參數串列:依據需求設定多個參數來接收資料,每個參數都必須清楚地宣告其資料型別。無任何傳入值,保留括號即可。
return敘述:回傳運算結果。
以上來源:從零開始學visual C# 2017程式設計、W3Schools、詢問chatGPT
內容有誤的話,請留言或發訊息給我